\section{Text.mui}

Text class allows generating objects that contain
some kind of text. You can control the outfit of
your text with some special control characters,
including italics, bold, underline and color
codes. Format codes align text either left,
centered or right, linefeeds allow multiline
text fields.

\subsection[MUIA\_Text\_Contents]{MUIA\_Text\_Contents -- (V4) [ISG], STRPTR}

\subsubsection*{FUNCTION}
String to be displayed in a text object.

If the string is larger than available display space,
it will be clipped. Setting MUIA\_Text\_Contents to NULL
results in an empty text object.

The string is copied into a private buffer, you can destroy
the original after using this tag.

Whenever MUI prints strings, they may contain some special
character sequences defining format, color and style of the text.

\begin{description}
\item['$\backslash$n']	 Start a new line. With this character you can e.g. create
multi line buttons.

\item[ESC -]    Disable text engine, following chars will be printed
without further parsing.

\item[ESC u]    Set the soft style to underline.

\item[ESC b]    Set the soft style to bold.

\item[ESC i]    Set the soft style to italic.

\item[ESC n]    Set the soft style back to normal.

\item[ESC \flq n\frq]   Use pen number n (2..9) as front pen. n must be a valid
DrawInfo pen as specified in ''intuition/screens.h''.

\item[ESC c]    Center current (and following) line(s).
This sequence is only valid at the beginning of a
string or after a newline character.

\item[ESC r]    Right justify current (and following) line(s).
This sequence is only valid at the beginning of a
string or after a newline character.

\item[ESC l]    Left justify current (and following) line(s).
This sequence is only valid at the beginning of a
string or after a newline character.

\item[ESC I{[s]} ] Draw MUI image with specification \flq s\frq . See autodocs
of image class for image spec definition.
\end{description}
   
\subsubsection*{NOTE}
These rules apply to all MUI strings, not only to
a text objects contents. You can e.g. format the
columns of a listview or include images in a cycle
gadgets entries.

\subsubsection*{EXAMPLE}
\small
\begin{verbatim}
...
MUIA_Text_Contents, "\33c\33bMUI\33n\nis magic"
...

would look like     |    MUI   |  <-- bold
                    | is magic |  <-- normal

    SEE_ALSO
MUIA_Text_SetMin, MUIA_Text_SetMax, MUIA_Text_PreParse

\end{verbatim}
\normalsize
\subsection[MUIA\_Text\_HiChar]{MUIA\_Text\_HiChar -- (V4) [I..], char}

\subsubsection*{FUNCTION}
If the character given here exists in the displayed
string (no matter if upper or lower case), it will
be underlined. This makes it easy to create macros
such as KeyButton() that specify the control char
and the underline char at the same time.

\subsubsection*{SEE ALSO}
MUIA\_Text\_Contents, MUIA\_Control\_Char

\subsection[MUIA\_Text\_PreParse]{MUIA\_Text\_PreParse -- (V4) [ISG], STRPTR}

\subsubsection*{FUNCTION}
String containing format definitions to be parsed before
the text from MUIA\_Text\_Contents is printed.

Using this tag, you can easily define different formats,
colors and styles without modifying the original string.

\subsubsection*{EXAMPLE}
\small
\begin{verbatim}
...
MUIA_Text_PreParse, "\33c\33i",   // centered and italics
MUIA_Text_Contents, "foobar",
...

    SEE_ALSO
MUIA_Text_Contents

\end{verbatim}
\normalsize
\subsection[MUIA\_Text\_SetMax]{MUIA\_Text\_SetMax -- (V4) [I..], BOOL}

\subsubsection*{FUNCTION}
Boolean value to indicate wether the objects maximal width
shall be calculated to fit the string given with
MUIA\_Text\_Contents.

When set to FALSE, maximum width is not limited.

For a text object that needs to be updated (e.g. some
information about your programs status) you would probably
set MUIA\_Text\_SetMax to FALSE to allow resizing of this
object.

For a label for one of your gadgets, you might want to
give this tag a value of TRUE to prevent MUI from
inserting additional layout space.

Defaults to FALSE.

\subsubsection*{EXAMPLE}
\small
\begin{verbatim}
...
TX_Status = TextObject,
   RecessedFrame,
   MUIA_Background   , MUII_BACKGROUND,
   MUIA_Text_PreParse, "\33c",
   MUIA_Text_Contents, "running...",
   End,
...
set(TX_Status,MUIA_Text_Contents,"reading...");
...
set(TX_Status,MUIA_Text_Contents,"writing...");
...

    SEE_ALSO
MUIA_Text_SetMin, MUIA_Text_Contents

\end{verbatim}
\normalsize
\subsection[MUIA\_Text\_SetMin]{MUIA\_Text\_SetMin -- (V4) [I..], BOOL}

\subsubsection*{FUNCTION}
Boolean value to indicate wether the objects minimal width
shall be calculated to fit the string given with
MUIA\_Text\_Contents.

When set to FALSE, minimum width will be set to 0
and the displayed string may be clipped.

Defaults to TRUE.

SEE\_ALSO
MUIA\_Text\_SetMax, MUIA\_Text\_Contents



